home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- Network Working Group P. Tsuchiya
- INTERNET-DRAFT Bellcore
- January 1993
-
-
- Pip Identifiers
-
-
- Status of this Memo
-
- This document is an Internet Draft. Internet Drafts are working
- documents of the Internet Engineering Task Force (IETF), its Areas,
- and its Working Groups. Note that other groups may also distribute
- working documents as Internet Drafts).
-
- Internet Drafts are draft documents valid for a maximum of six
- months. Internet Drafts may be updated, replaced, or obsoleted by
- other documents at any time. It is not appropriate to use Internet
- Drafts as reference material or to cite them other than as a "working
- draft" or "work in progress."
-
- Please check the I-D abstract listing contained in each Internet
- Draft directory to learn the current status of this or any other
- Internet Draft.
-
-
- Abstract
-
- Pip is an internet protocol intended as the replacement for IP
- version 4. The Pip header defines source and destination ID fields
- whose primary function it is to identify the source and destination
- of a Pip packet. While Pip systems treat the IDs as flat for the
- purpose of identification, it is useful to have hierarchical
- structure in the ID for other purposes, such as for doing a reverse
- DNS lookup on the ID. This internet-draft defines the structure of
- Pip IDs.
-
-
- Acknowledgements
-
- I want to thank John Curren and Bob Smart for their observations on
- the need for administrative structure in Pip IDs that led to this
- draft.
-
-
-
-
-
- Pip WG, Expires July 1, 1993 [Page 1]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- 1. Changes From Previous Version
-
-
- The major change to this version is in how IP addresses are encoded
- in the Pip ID. Whereas before they were encoded in the ASN.1 nota-
- tion (and thus spread over 5 octets), now they are always encoded in
- the low-order 32 bits of the Pip ID.
-
- In addition, code points were added for E.164 numbers, and for form-
- ing Pip IDs that are only locally unique (for the sake of auto-
- configuration).
-
-
-
- 2. Introduction
-
-
- Pip is an internet protocol intended as the replacement for IP ver-
- sion 4. The Pip header defines source and destination ID fields
- whose function, in the context of host processing of Pip headers, is
- to only identify the source and destination of a Pip packet. While
- Pip systems treat the IDs as flat for the purpose of identification,
- it is useful to have hierarchical structure in the ID for other pur-
- poses, such as for doing a reverse DNS lookup on the ID. This
- internet-draft defines the structure of Pip IDs.
-
- Pip IDs have the following characteristics:
-
- 1. With well-known exceptions, they are globally unique binary
- strings 8 octets in length.
-
- 2. They are hierarchically structured.
-
- 3. Each component of the hierarchy is contiguous, and each
- hierarchical component is positioned in the Pip ID adjacent to
- its parent and child components.
-
- 4. The hierarchical structure is self-describing. That is, the
- hierarchical structure can be determined by examination of the
- ID alone.
-
- 5. Pip IDs may be used for group identification, but such a Pip ID
- is not self-describing as being a group Pip ID.
-
- 6. Certain Pip IDs are well-known and have local meaning, such as
-
-
-
- Pip WG, Expires July 1, 1993 [Page 2]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- "all routers on the subnet" and "this host".
-
- Pip IDs are formed by a hierarchy of number authorities, each of
- which is responsible for assigning the next lower level of the
- hierarchy. While it is the intent that the hierarchical structure of
- Pip IDs follow administrative hierarchy (versus, for instance, topo-
- logical hierarchy), it is up to each number authority to determine
- how the next level is assigned.
-
- The top-level number authority for Pip IDs is the Internet Assigned
- Number Authority (IANA).
-
-
-
- 3. Pip ID structure
-
-
- Semantically, the Pip ID is a series of integers, with each integer
- being hierarchically above the following one. For instance, the Pip
- ID 12.96.4993.5 has four levels of hierarchy. The IANA assigns the
- top-level (12). The number authority represented by the top-level
- number 12 assigns the following level (96), and so on.
-
- The encoding of a Pip ID is similar to (but not the same as) that of
- the Object Identifier encoding in ASN.1. That is, it is encoded as a
- series of (eight) octets, with the first bit of each octet indicating
- whether the next octet is part of the same integer or a new integer.
- If the first bit of the octet is 0, then it is the last octet of the
- integer. If the first bit of the octet is 1, then the following
- octet is part of the same integer.
-
- For instance, the integer 127 is encoded as 01111111. The integer
- 128, however, is encoded as 10000001 00000000. The leading 1 in the
- first octet indicates that the next octet is part of the same
- integer. The leading 0 is the second octet indicates that it is the
- final octet of the integer. The value 128 comes from concatinating
- the seven least significant bits from each of the two octets.
-
-
- 3.1. Exceptions to the Above Rule
-
-
- There are three exceptions to the above rule--padding octets, the "IP
- Address Follows" octet, and the low order octet. These exceptions
- are discussed here.
-
-
-
- Pip WG, Expires July 1, 1993 [Page 3]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- Padding
-
- In encoded form, all Pip IDs are padded out to the full 8 octets.
- The pad consists of a single octet of value 10000000 followed by 0 or
- more octets of value 11111111. This is how the Pip ID encoding
- differs from the ASN.1 Object Identifier encoding. In the ASN.1
- encoding, an octet of 1000 0000 is illegal, because it represents a
- "wasted" octet in the case where the string of octets is variable
- length.
-
- The reason that we do not pad with multiple octets of 10000000 is
- because it would be ambiguous with one of the IP address encodings.
-
- As another example, consider the Pip ID 12.96.4993.5. It is encoded
- as:
-
- 12 00001100
- 96 01100000
- 4993 10100111 00000001
- 5 00000101
- pad 10000000 11111111 11111111
-
- The 12 and 96 take up one octet each. The 4993 is greater than 127
- (largest 7-bit integer), but smaller than 16383 (largest 14-bit
- integer), so it requires 2 octets. The 5 is the final digit. The
- remaining 3 octets are padded with 10000000 followed by two octets of
- 11111111.
-
- IP Address Follows
-
- The second exception is for the case of embedding an IP address in
- the Pip ID. This exception exists because embedding IP addresses in
- Pip IDs is an integral part of transition to Pip, and a router will
- need to extract IP addresses from Pip IDs on a packet by packet
- basis. If we encode the IP address in the ASN.1 notation, then the
- 32-bit IP address gets spread over 40 bits of Pip ID, and a series of
- shift, mask, and OR operations are required to extract the IP address
- in its contiguous 32-bit form.
-
- As a result, we allow the 32-bit IP address to be embedded in the Pip
- ID in its contiguous form. For the sake of simplicity and effi-
- ciency, we require that the IP address always be in the low order 32
- bits of the Pip ID. In order that a Pip ID with an IP address be
- self-describing as such, we specify that the octet preceeding the IP
- address be 10000000. Note that this is also the "start of padding"
-
-
-
- Pip WG, Expires July 1, 1993 [Page 4]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- octet. However, if the remainder of the Pip ID really padding, then
- it is followed by four octets of 11111111. However, an IP address of
- all 1's is illegal, so 5 octets of padding cannot be mistaken for an
- IP address.
-
- Low Order Octet
-
- Except for the case of an IP address, the values 10000001 - 11111110
- in the low order octet do not make sense, because the "1" in the
- indicates "more digits follow" when there are in fact no more digits.
- Thus, the values 10000001 - 11111110 in the low order octet, except
- for the IP address encoding, are illegal. In the future, these
- values may be used to imply an extension of the Pip ID.
-
-
-
- 4. Assigned Top-level Pip ID Numbers
-
-
- It is expected that the IANA will generally assign top-level Pip ID
- numbers directly to organizations. This document, however, defines a
- number of special, non-organizational assignments. These are for the
- purposes of grandfathering existing numbering plans, and for delegat-
- ing countries as second level assignment authorities.
-
- The assignments below consume all of the 1-octet top-level numbers (0
- - 127) and a small number of 2-octet top-level numbers (128 - 316 are
- assigned of a possible maximum 2-octet number of 16383). Thus there
- are approximately 16,000 2-octet and 2,000,000 3-octet top-level
- numbers available for assignment directly to organizations.
-
- Any of these 2- and 3-octet assignments allow the designated organi-
- zation to form Pip IDs with IP addresses embedded. Any 4-octet or
- greater assignment does not allow the designated organization to form
- a Pip ID with an embedded IP address (except on an ad hoc basis).
- Thus it is recommended that the IANA assign 2- and 3- octet numbers
- to organizations for the forseeable. Since 2-octet numbers are at a
- premium, it may be desirable to reserve these numbers and only assign
- 3-octet numbers, or to assign 2-octet numbers only to very large
- organizations.
-
- The following Pip ID assignments are defined:
-
-
-
-
-
-
- Pip WG, Expires July 1, 1993 [Page 5]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- 4.1. IEEE 802 Address
-
-
- An IEEE 802 address can be used to create a globally unique Pip ID.
- Thus, anybody with an IEEE 802 address can use it to form a globally
- unique Pip ID.
-
- The format for an IEEE 802 Pip ID is:
-
- 1.IEEE802address
-
- The top-level integer is value "1". The remainder of the Pip ID is a
- single IEEE 802 address. Since the IEEE 802 address is 48 bits in
- length, and since the remaining 7 octets only encode 49 bits, there
- is no room for a third level of hierarchy.
-
-
-
- 4.2. Locally Unique IDs
-
-
- During auto-configuration, it is necessary for a Pip host to be able
- to construct a Pip ID that is with very high probability unique among
- the systems that share a physical network with it. If the host has
- an IEEE 802 interface, then it can form a Pip ID of the form
- 1.IEEE802address as described in the preceeding section. This Pip ID
- is globally unique.
-
- If, however, the host does not have a globally unique IEEE 802 number
- with which to form a Pip ID, it can use (one of) its physical inter-
- face address(es) to form a Pip ID that is unique for the systems on
- the physical network (presuming that the physical addresses on the
- network are unique among each other).
-
- The format for this number is:
-
- 2.physicalAddress.randomNumber
-
- The top-level integer is value "2". The next level integer is
- created using the physicalAddress. The lowest level integer is a
- randomly generated number truncated to fit within the space remaining
- after the physical address. Thus, the Locally Unique Pip ID has
- three levels of hierarchy.
-
- Note that the 2.physicalAddress alone should be sufficient to insure
-
-
-
- Pip WG, Expires July 1, 1993 [Page 6]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- uniqueness on the local physical network. The random number, how-
- ever, increases the probability that the number will be unique on the
- local physical network and beyond.
-
-
-
-
-
- 4.3. CCITT E.164
-
-
- A CCITT E.164 address can be used to create a globally unique Pip ID.
- Thus, anybody with an E.164 address can use it to form a globally
- unique Pip ID.
-
- The format for an IEEE 802 Pip ID is:
-
- 3.flatE164number
- 4.flatE164number
-
- The top-level integer is value "3" or "4". The reason that two top-
- level assignments are required for E.164 is because the maximum pos-
- sible E.164 number is 15 digits. To encode all 15 digit numbers in
- binary requires 50 bits. Not including the high order octet, how-
- ever, there are only 49 significant bits in the Pip ID. Thus, we
- must "steal" the low order bit of the high order octet in order to
- insure that all E.164 numbers can be encoded.
-
- The algorithm for creating a Pip ID from an E.164 number is to form
- the single integer flatE164number from the E.164 number (that is, the
- contatination of country code and remaining digits). If
- flatE164number integer is less than 2^49, then use the top-level
- assignment of 3 followed by flatE164number. If, on the other hand,
- flatE164number is greater than or equal to 2^49, then subtract 2^49
- from flatE164number and use the top-level assignment of 4 followed by
- the modified flatE164number.
-
- The reverse of this is used to extract an E.164 from a Pip ID with a
- top-level integer of 3 or 4.
-
-
-
- 4.4. Flat Well-Known IDs
-
-
-
-
-
- Pip WG, Expires July 1, 1993 [Page 7]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- There are any number of uses for identifying systems of a certain
- type, rather than specific systems. For instance, an ID for "all
- routers on the LAN" is useful for router discovery. This specifica-
- tion defines the following well-known Pip IDs. These well-known Pip
- IDs consist of a single hierarchy level (the top-level), but are so
- large that only one level of hierarchy is possible.
-
- Any Router
- Decimal Notation = 2^56 - 1
- Pip ID encoding = ff ff ff ff ff ff ff 7f
-
- Any Host
- Decimal Notation = 2^56 - 2
- Pip ID encoding = ff ff ff ff ff ff ff 7e
-
- Any System
- Decimal Notation = 2^56 - 3
- Pip ID encoding = ff ff ff ff ff ff ff 7d
-
- The above three well-known Pip IDs serve for functions such as "all
- routers on a subnet", for instance in configuration algorithms such
- as router discovery. Other well-known Pip IDs are expected to be
- defined in the future.
-
-
-
- 4.5. Country Codes
-
-
- While it is probably adequate to assign top-level Pip ID numbers
- directly to organizations, there may be good reasons to assign them
- to countries. One reason is that it reduces the administrative bur-
- den on IANA for assigning top-level numbers to every possible organi-
- zation. Another reason is that the number of organizations in the
- world may be large enough that a layer of hierarchy above the organi-
- zation is needed for such purposes as ID-to-name directory service
- lookups.
-
- Therefore, this specification has reserved a block of numbers for
- country codes. The actual number values have not yet been assigned.
- A consideration in assigning these numbers is whether the number
- takes up one octet or two octets. A one octet number leaves more
- room for further assignment, and is therefore more desirable. How-
- ever, there are enough countries that not all of them can have a
- one-octet top-level number (ISO 3166 lists 235 countries).
-
-
-
- Pip WG, Expires July 1, 1993 [Page 8]
-
-
-
-
-
-
- INTERNET-DRAFT Pip Identifiers January 1993
-
-
- A reasonable approach to assigning these numbers, however, would be
- to assign one-octet values to those countries with the largest Gross
- National Produce (GNP) or population. CCITT assigns 1 or 2-digit
- E.164 country codes to 47 countries (and 3-digit country codes to the
- remaining countries), so it is probably reasonable to give the 47 or
- so countries with the highest GNPs one-octet country codes, and
- assign 2-octet codes to the remaining countries. (The 8 most popu-
- lous nations are among the 40 nations with highest GNP.)
-
- Therefore, this standard tentatively reserves top-level numbers 80 -
- 127 for those countries with the highest GNPs, and 128 - 316 for the
- remaining countries.
-
-
-
- 4.6. CCITT and ISO assignments
-
-
- The following top-level numbers are assigned to CCITT and ISO:
-
- CCITT 10
- ISO 11
- Joint CCITT/ISO 12
-
-
-
- 5. Summary of Top-Level Pip ID Numbers
-
-
- 0 Reserved
- 1 IEEE 802
- 2 Locally Unique
- 3 and 4 CCITT E.164
- 5 to 9 Reserved
- 10 CCITT (other than E.164)
- 11 ISO
- 12 Joint CCITT/ISO
- 13 to 79 Reserved
- 80 to 316 Country Codes
- 317 to 16383 Reserved 2-octet
- 16384 to 2097151 Reserved 3-octet
- 2097151 to 2^56 - 4 Reserved other
- 2^56 - 3 to 2^56 - 1 Well-known IDs
-
-
-
-
-
- Pip WG, Expires July 1, 1993 [Page 9]
-